//路由权限文件配置
import router from "./index";

//导入所有的配置路由
import { allAsyncRouter } from "./allAsyncRouter";

//导入路由比对方法
import { filterAsyncRoterArr, setDefaultRoute } from "../utils/RouteUtil";

//用户角色
let roleType = 1;

//是否已经登录
let token = "123";

//在beforEach中根据权限动态处理路由权限
router.beforeEach((to, from, next) => {
  if (token) {
    //已经登录,比对路由权限
    // let fliterRoutes = filterAsyncRoterArr(roleType, allAsyncRouter);
    // //配置默认路由
    // setDefaultRoute(fliterRoutes);
    // //将过滤的路由动态添加到路由对象中,注意这里动态添加路由只能通过router.push('路径')方式访问,不能通过浏览直接输入地址访问
    // fliterRoutes.forEach((item) => {
    //   router.addRoute(item);
    // });
    next();
  } else {
    //未登录
    if (
      to.matched.length &&
      to.matched.length > 0 &&
      !to.matched.some((record) => record.meta.requiresAuth)
    ) {
      //页面不需要验证登录
      next();
    } else {
      //页面需要验证登录
      next({
        path: "/login",
      });
    }
  }
});
